\documentclass{beamer}
\usetheme{Madrid}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{hyperref}
\usepackage{tikz}
\usepackage{slashbox}

% Pour enlever le \institute du bas de page
% Rapetisser les noms et date etc dans le footer
\setbeamertemplate{footline}
{
      \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
      \
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
      \usebeamerfont{title in head/foot}\insertshorttitle
      \end{beamercolorbox}%
      \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
      \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
      \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
      \end{beamercolorbox}}%
      \vskip0pt%
}

\AtBeginSection[]
{
      \begin{frame}
            \tableofcontents[currentsection,hideallsubsections]
      \end{frame}
}

\title{Tableau virtuel interactif}
\author{\textcolor{blue}{Baptiste Saleil}, \textcolor{cyan}{Geoffrey Mélia}, \textcolor{blue}{Julien Pagès}, \textcolor{cyan}{Kevin Bollini} \\ \ \\Tuteur de projet: M. Puech}
\date{30 avril 2012}

\begin{document}
	%Kevin
	\begin{frame}
		\titlepage
	\end{frame}

	\section{Introduction}
	\begin{frame}{Introduction}
        
	\begin{block}{But du projet :}
               \begin{itemize}
			\item Lier les compétences \textcolor{blue}{AIGLE}/\textcolor{cyan}{IMAGINA}
			\item Lier recherche et développement
			\item Concevoir une application incluant une IHM gestuelle
			\item Obtenir des résultats fonctionnels et distribuables
		\end{itemize}
        \end{block}
            
	\end{frame}

      \begin{frame}{Aperçu du projet}
      		\begin{center}
      		\includegraphics[scale=0.25]{capture-intro.png}
      		\end{center}
      \end{frame}

%Plan
      \begin{frame}{Plan}
            \tableofcontents[hideallsubsections]
      \end{frame}
            
      \section{Analyse et Conception}
      \subsection{Gestion de projet}
            \begin{frame}{Gestion de projet}
                  \begin{block}{Conception}
			\begin{itemize}
                  		\item Une bibliothèque de suivi d'objets réutilisable
                        	\item Une application  exploitant cette bibliothèque
			\end{itemize}
                  \end{block}
		  \begin{block}{Méthodologie :}
                 	 \begin{itemize}
                  	\item Etude préliminaire
                 	 \item Développer rapidement un prototype
                 	 \item Développement incrémental et itératif
                	  \end{itemize}
                  \end{block}
                  
                \begin{block}{Outils}
			\begin{itemize}
			\item Langage : C et C++
			\item Bibliothèques utilisées : Qt, OpenCV, CvBlob
			\end{itemize}
		\end{block}
		
            \end{frame}
            
            \begin{frame}{Gestion de projet}
                  \begin{block}{Organisation :}
                  \begin{itemize}
                        \item{Réunions}
                        \item{Deux sous-groupes}
                        \item{Partage des tâches au sein des groupes}
                        \item{Décisions communes}
                  \end{itemize}
                  \end{block}
            
		\begin{block}{Collaboration :}
			\begin{itemize}
			\item{Gestionnaire de versions (Subversion)}
			\item{Partage de documents (Mail et Subversion)}
			\item{Discussions (Mails / Instantanées)}
			\item{Édition collaborative pour le travail à distance (Gobby)}
			\end{itemize}
		\end{block}
            \end{frame}
            
      \subsection{Analyse}
            \begin{frame}{Analyse}
                  \begin{exampleblock}{Objectifs}
                        \begin{itemize}
                              \item{Identifier les besoins et envies des utilisateurs}
                              \item{Traduire ces besoins en fonctionnalités}
                              \item{Faciliter le développement}
			      \item{Produire une application aboutie }
                        \end{itemize}
                  \end{exampleblock}
            \end{frame}
      
      \subsection{Planning}
            \begin{frame}{Rétroplanning}      
                 % Rétroplanning (Diagramme de gantt) :
                  %\begin{center}
                  \includegraphics[scale=0.40]{./retro-planning.pdf}
                  %\end{center}
            \end{frame}

      %Partie de Kevin Et Geoffrey
      %Geoffrey
      \section{Bibliothèque}
            \subsection{Architecture}
            \begin{frame}{Bibliothèque de suivi d'objets : libtrack}
                  \begin{block}{Objectifs de la bibliothèque}
                        \begin{itemize}
                        	\item{Utilisation simple sans connaissances en traitement d'image}
                        	\item{Détection d'actions}
                        	\item{Diverses solutions de suivi}
                        	\item{Évaluer et comparer ces solutions}
                        \end{itemize}
                  \end{block}
            \end{frame}

            \begin{frame}{Bibliothèque}
				\includegraphics[scale=0.59]{./libtrack-uml.pdf}
            \end{frame}
            
            \begin{frame}{Tableau Comparatif}
		        \begin{table}[h]
				%\begin{center}
				\begin{tabular}{|l|c|c|c|}
				\hline
				\backslashbox{Caractéristique}{Méthode}& Modèle  &C. connexes& Barycentre  \\
				\hline
				Vitesse & -& + & ++ \\
				\hline
				Précision &++&++&+\\
				\hline
				Linéarité &-&+&+\\
				\hline
				Variété curseur &++&+&++\\
				\hline
				Souplesse, adaptation & - - & + &+\\
				\hline
				Sensibilité environnement &++&-&- -\\
				\hline
				Action &Non & Oui & Oui \\
				\hline
				\end{tabular}
				%\end{center}
				\caption{Comparatif des différentes solutions de suivi}
				\label{tableau comparatif}
				\end{table}
			\end{frame}


            %Kevin
            \subsection{Fonctionnement}
            \begin{frame}{Scénario type d'utilisation de la bibliothèque}
                  La bibliothèque s'utilise en deux grandes étapes :
                  \begin{itemize}
                        \item{Calibration, engendrant une struture Cursor}
                        \item{Track, mettant à jour les informations de la structure}
                  \end{itemize}
            \end{frame}

            \subsubsection{Calibration}
            \begin{frame}{Calibration : Source d'images et TYPE\_TRACK}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture6.png}\\
                        Écran de sélection du Type\_TRACK et de la source d'images
                  \end{center}
            \end{frame}

            \begin{frame}{Calibration : Sélection du curseur}
                  \begin{itemize}
                        \item{Position de l'objet}
                  \end{itemize}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture1.png}\\
                        Sélection de l'objet
                  \end{center}
            
            \end{frame}

            \begin{frame}{Calibration couleur : Réglage du seuil}
                  \begin{itemize}
                        \item{Attributs "threshold" et "mask"}
                  \end{itemize}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture2.png}\\
                        Écran de réglage du seuil
                  \end{center}
            \end{frame}

	    \begin{frame}{Calibration Forme : Extraction du modèle}
                  \begin{itemize}
                        \item{Attribut "mask"}
                  \end{itemize}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture7.png}\\
                        Écran de validation du modèle.
                  \end{center}
            \end{frame}
            
            \subsubsection{Suivi}
            \begin{frame}{Suivi par couleur : Barycentre}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture4.png}\\
                        Calcul du barycentre de l'image binaire
                  \end{center}
            \end{frame}

            \begin{frame}{Suivi par Blob : Composantes connexes}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture5.png}\\
                        Exploitation des composantes connexes
                  \end{center}
            \end{frame}

            \begin{frame}{Suivi par couleur/Blob : Détection d'action}
                  \begin{itemize}
                        \item{Détection d'action par approchement du curseur}
                  \end{itemize}
                  \begin{center}
                        \includegraphics[scale=0.25]{Capture3.png}\\
                        Retour image de l'objet suivi
                  \end{center}
            \end{frame}

            \begin{frame}{Suivi par modèle}
                  \begin{itemize}
                        \item{Recherche du template dans l'image}
                  \end{itemize}
		  \begin{center}
                        \includegraphics[scale=0.25]{Capture8.png}\\
                        Recherche de modèle.
                  \end{center}
            \end{frame}
            
		\section{Application}
		\subsection{Architecture}
		\begin{frame}{Architecture - Modules}
			\pause
			\begin{block}{Etalonnage}
				\begin{itemize}
					\item Choix principaux pour l'application
					\item Réglages (tolérance, mode réseau...)
				\end{itemize}
			\end{block}
			\pause
			\begin{block}{Client}
				\begin{itemize}
					\item Interface graphique
					\item Liens entre les différents modules
				\end{itemize}
			\end{block}
			\pause
			\begin{block}{Tableau}
				\begin{itemize}
					\item Dessin / Interface gestuelle
					\item Module réseau
				\end{itemize}
			\end{block}
			\pause
			\begin{block}{Serveur}
				\begin{itemize}
					\item Communication entre clients
					\item Synchronisation du tableau entre les clients
				\end{itemize}
			\end{block}
		\end{frame}
	
		\begin{frame}{Architecture - Classes}
			\begin{center}		
				\includegraphics[scale=0.45]{../uml/classes.png}
			\end{center}
		\end{frame}
		
		\begin{frame}{Architecture - Protocole réseau}
			\begin{block}{Types de données}
				\begin{itemize}
					\item Objet "dessin"
					\item Chaine de caractères
				\end{itemize}
			\end{block}
			\pause
			\begin{block}{Exemple}
				\begin{center}"order:line:100:100:200:200:00FF00:10"\end{center}
			\end{block}
			\pause
			\begin{block}{Points forts}
				\begin{itemize}
					\item Rapidité
					\item Légèreté
					\item Accessible
				\end{itemize}
			\end{block}
		\end{frame}
		
		\subsection{Fonctionnalités}
		\begin{frame}{Fonctionnalités - Outils}
			\begin{center}\includegraphics[scale=0.45]{toolbar.png}\end{center}
			\begin{center}\includegraphics[scale=0.2]{colorpicker.png}\end{center}
			\begin{itemize}
				\item Couleur
				\item Gomme
				\item Taille du pinceau
				\item Affichage
			\end{itemize}
		\end{frame}
		\begin{frame}{Fonctionnalités - Actions}
			\begin{center}
				\includegraphics[scale=0.6]{menu.png}\quad
				\includegraphics[scale=0.2]{export.png}
			\end{center}
			\begin{itemize}
				\item Sauvegarde du dessin
				\item Vider le tableau
				\item Mode plein écran
			\end{itemize}
		\end{frame}
		
		\subsection{Fonctionnement}
		\begin{frame}{Fonctionnement - Interface intuitive}
			\begin{center}
				\includegraphics[scale=0.45]{interface.png}
			\end{center}
		\end{frame}
		
		\begin{frame}{Fonctionnement - Étalonnage}
			\begin{block}{Technique}
				\begin{itemize}
					\item Interface "Suivant - Précédent"
					\item Étalonnage obligatoire
				\end{itemize}
			\end{block}
			\begin{block}{Utilisation}
				\begin{enumerate}
					\item Choix webcam / Type de suivi
					\item Sélection de l'objet
					\item Réglage de la tolérance
					\item Choix mode local / réseau
				\end{enumerate}
			\end{block}
			
		\end{frame}
		
		\begin{frame}{Fonctionnement - Local}
			\begin{columns}
				\begin{column}{5cm}
					\includegraphics[scale=0.45]{sequence_local.png}
				\end{column}
				\begin{column}{3cm}
					\begin{itemize}
						\item Étalonnage
						\item Détection de l'objet
						\item Dessin
					\end{itemize}
				\end{column}
			\end{columns}
		\end{frame}
		
		\begin{frame}{Fonctionnement - Réseau}
			\begin{columns}
				\begin{column}{9cm}
					\includegraphics[scale=0.35]{sequence_reseau.png}
				\end{column}
				\begin{column}{5cm}
					\begin{itemize}
						\item Étalonnage
						\item Détection de l'objet
						\item Dessin
					\end{itemize}
				\end{column}
			\end{columns}
		\end{frame}
		
		\subsection{Mise en production}
		\begin{frame}{Mise en production}
			\begin{block}{Pourquoi?}
				\begin{itemize}
					\item Généralement oubliée
					\item Première expérience
					\item Application aboutie
				\end{itemize}
			\end{block}
			\pause
			\begin{block}{Eléments}
				\begin{itemize}
					\item Traduction
					\item Packaging (.deb)
					\item Documentation
					\item Dépôt accessible
					\item Code propre
				\end{itemize}
			\end{block}
		\end{frame}
		
	\section{Conclusion}
		\begin{frame}{Conclusion}
			\begin{exampleblock}{Objectifs atteints}
				\begin{itemize}
				\item Projet fonctionnel
				\item Respect du cahier des charges
				\item Découverte, travaux de recherches
				\end{itemize}
			\end{exampleblock}
			\pause
			
			\begin{alertblock}{Difficultés}
				\begin{itemize}
				\item Synchronisation 	
				\item Techniques : réseau, suivi par forme
				\end{itemize}
			\end{alertblock}
			\pause
			
			\begin{block}{Ouverture}
				\begin{itemize}
				\item Amélioration des performances (suivi, réseau)
				\item Possibilité de relancer l'étalonnage
				\item Diversifier les méthodes de suivi
				\item Envisager de nouvelles utilisations à la bibliothèque
				\end{itemize}
			\end{block}
		\end{frame}
                 
	\begin{frame}{Sources et bibliographie}
   
		%need tiny{}
		\begin{itemize}
		\item{\url{http://www.sciencedirect.com.www.ezp.biu-montpellier.fr/science/article/pii/S026288561100120X}}
		\item{\url{http://www.irit.fr/recherches/SAMOVA/pageAnalysis.html}}
		\item{\url{http://www.irit.fr/~Philippe.Joly/Teaching/L3SI/ti.html}}
		\item{\url{http://opencv.willowgarage.com/wiki/}}
		\item{\url{code.google.com/p/cvblob/} }
		\end{itemize}
		
	\end{frame}

	\begin{frame}
	\begin{center}
		\begin{huge}Merci de votre attention\end{huge} \\~ \\
		\includegraphics[scale=0.08]{tux.jpg} \\~ \\
		Site du projet : \url{http://code.google.com/p/dessin-realite-augmentee/}
	\end{center}
	\end{frame}
	

\end{document}
